package com.ssy.lingxi.member.merchant.service.paas;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.api.model.vo.paas.*;

import java.util.List;

/**
 * Paas平台 - 设置基础的升级规则、等级、权益、信用等规则接口
 * @author 万宁
 * @version 2.0.0
 * @date 2020-08-23
 */
public interface IPaasLevelRightCreditService {

    /**
     * 修改会员权益状态
     * @param configVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> updateBaseRightStatus(BaseRightConfigStatusVO configVO);

    /**
     * 更改会员升级规则设置的状态
     * @param configVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> updateBaseLevelRuleConfigStatus(BaseLevelRuleStatusVO configVO);

    /**
     * 新增或修改会员等级（及关联的角色）
     * @param configVO 接口参数
     * @return 新增或更新结果
     */
    Wrapper<Void> updateOrInsertBaseLevelConfig(BaseLevelConfigVO configVO);

    /**
     * 查询所有基础会员等级设置（V2待删除）
     * @return 基础等级设置列表
     */
    Wrapper<List<BaseLevelConfigVO>> listBaseLevelConfig();

    /**
     * 删除会员等级
     * @param deleteVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> deleteBaseLevelConfig(BaseLevelConfigDeleteVO deleteVO);

    /**
     * 更新会员等级
     * @param updateVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> updateBaseLevelConfigStatus(BaseLevelConfigStatusVO updateVO);

    /**
     * 更改会员信用评估规则权重
     * @param pointVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> updateMemberCreditConfigPoint(MemberCreditConfigVO pointVO);

    /**
     * 更改会员信用评估规则状态
     * @param pointVO 接口参数
     * @return 更新结果
     */
    Wrapper<Void> updateMemberCreditConfigStatus(MemberCreditConfigVO pointVO);

}
